17 - OpenID (5) - OIDC Hybrid Flow
這個 flow 和 OIDC Authorization Code Flow 主要的差別在於 step 2 可以指定回傳的內容
由 Client
將使用者導向 OpenID provider
,其 url params 如下
GET /authorize?response_type=xxx
&client_id=xxx
&nonce=xxx
&state=xxx
&scope=xxx
&redirect_uri=xxx
response_type
: 這裡的值如果為
client_id
: 在 OpenID provider
所登記的 Client 的 IDnonce
: 一個隨機值,之後會被放在 ID token 當中回傳給 Client
state
: 當中包含了 Client 當前的狀態資訊,之後會用來比對 OpenID provider
response 當中的 state 以確保前後一致scope
: 代表這個請求所想要取得的使用者資訊,譬如 "openid profile email"redirect_uri
: 在 step 5 OpenID provider 將使用者導回到 Client 時的 url在使用者輸入帳號密碼,驗證身份完畢之後 (step 3 & 4),OpenID provider
的回應如下
https://client_redirect_uri/callback
?code=xxx
&state=xxx
&id_token=xxx
是否回傳 code 或 id_token,就端看在 Step 2 的設定
之後, Step 6 & 7 就和 OIDC Authorization Code Flow 的內容相似